﻿#ifndef MYTABLEVIEW_H
#define MYTABLEVIEW_H

#include <QTableView>
#include <QStandardItemModel>
#include "listpushbutton.h"
#include "multilistpushbutton.h"

class MyTableView : public QTableView
{
    Q_OBJECT
public:
    explicit MyTableView(QWidget *parent = nullptr);

    ~MyTableView();

    QList<bool> hiddenStateList;
    ListPushButton *listPushButton;

    QList<QList<bool>> multiHiddenStateList;
    MultiListPushButton *multiListPushButton;

    void setListPushButtonAndMenuLabel(ListPushButton *listPushButton, QStringList menuLabel);

    void setMultiListPushButton(MultiListPushButton *multiListPushButton);

    void addMultiMenu(QString key, QStringList menuLabel);

    void initHiddenStateList(QString key, int size);

    void initMultiHiddenStateList();

    void refreshHiddenState();

    void refreshMultiHiddenState();
signals:

public slots:

private:
    QString key;
    QStringList keyList;
};

#endif // MYTABLEVIEW_H
